#define SYS_FORK 0x0
#define SYS_RISKFORK 0x1
#define SYS_EXEC 0x2
#define SYS_WAIT 0x3
#define SYS_DUP 0x4
#define SYS_OPEN 0x5
#define SYS_PIPE 0x6
#define SYS_READ 0x7
#define SYS_WRITE 0x8
#define SYS_CLOSE 0x9
#define SYS_EXIT 0xA
#define SYS_RM 0xB
#define SYS_LS 0xC
int syscall (int,...);

int fork ();
int riskfork ();
int exec (char * name, char * arg);
int wait ();
int dup (int fd);
int open (char * name);
int read (int fd, char * buf, int sz);
int write (int fd, char * buf, int sz);
int close (int fd);
int pipe (int * fds);
int exit ();
int rm (char * name);
int ls (void * lsbuf);

char getc ();
void putc (char c); 

void bzero (char * dest, unsigned int size);
void memmove (char * dest, char * src, unsigned int size);
void memcpy (char *dest, char * src, unsigned int size);
int strcmp (char * s1, char * s2);
void strncpy (char * dest, char * src, unsigned int size);
